package com.ruoyi.projects.mapper;

import java.util.List;

import com.ruoyi.projects.Vos.SlSchedulesRecord;
import com.ruoyi.projects.domain.SlSchedules;

/**
 * 会员排期Mapper接口
 * 
 * @author ruoyi
 * @date 2025-04-21
 */
public interface SlSchedulesMapper 
{
    /**
     * 查询会员排期
     * 
     * @param sId 会员排期主键
     * @return 会员排期
     */
    public SlSchedules selectSlSchedulesBySId(Long sId);

    /**
     * 查询会员排期列表
     * 
     * @param slSchedules 会员排期
     * @return 会员排期集合
     */
    public List<SlSchedules> selectSlSchedulesList(SlSchedules slSchedules);

    /**
     * 新增会员排期
     * 
     * @param slSchedules 会员排期
     * @return 结果
     */
    public int insertSlSchedules(SlSchedules slSchedules);

    /**
     * 修改会员排期
     * 
     * @param slSchedules 会员排期
     * @return 结果
     */
    public int updateSlSchedules(SlSchedules slSchedules);

    /**
     * 删除会员排期
     * 
     * @param sId 会员排期主键
     * @return 结果
     */
    public int deleteSlSchedulesBySId(Integer sId);

    /**
     * 批量删除会员排期
     * 
     * @param sIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSlSchedulesBySIds(Integer[] sIds);

    /**
     * 根据会员卡id删除所有排期
     * @param cardId
     * @return
     */
    int deleteSlSchedulesByCardId(Long cardId);

    /**
     * 卡排期记录查询
     * @param cardId
     * @return
     */
    List<SlSchedulesRecord> schedulesByCardId(Long cardId);

    /**
     * 分页查询后台展示的排期数据
     * @param slSchedules
     * @return
     */
    List<SlSchedules> selectSlSchedulesPage(SlSchedules slSchedules);
}
